1. Field of the Invention
This invention is related to the field of filesystems for computer systems and, more particularly, to allocation of storage space to files within the filesystem.
2. Description of the Related Art
Computer systems implement a filesystem to manage the files used by an operating system and/or application programs executing on the computer systems. Filesystem software is executed to manage the files in the filesystem. In the past, filesystems were typically implemented with a single volume namespace, and thus all files in the filesystem have the same storage characteristics (e.g. type of storage device, reliability characteristics, etc.). Different volumes may have different performance characteristics, different costs, and different reliability characteristics. However, some files may be considered “more important” than others, and thus higher reliability characteristics may be desired for these files (even at the expense of lower performance characteristics). Other files may be frequently accessed and updated, and thus high performance characteristics may be desired (even at the expense of lower reliability characteristics). Additionally, files may have both data (the information stored in the file) and metadata (information about the data). Metadata is often considered “more important” than data, and thus higher reliability characteristics may be desired. With a single volume namespace, providing different performance, reliability, and/or cost characteristics for different files, or different portions of files, may not be possible.
Some limited attempts to provide flexibility have been made. For example, the XFS file system from Silicon Graphics, Inc. (SGI) is used in real time critical applications such as video servers, video editing, etc. The XFS filesystem provides a real time space and a “normal” (non-real time space), and attempts to provide real time access to data in the real time space (potentially at the expense of access to the normal space). The QFS filesystem permits separation of storage devices into two pools, one for storing data and the other for storing metadata. Thus, data or metadata is automatically stored on a device in the corresponding pool. Other filesystems (e.g. ADVFS from Digital Equipment Corporation, later acquired by Compaq Computer, which was acquired by Hewlett-Packard) incorporated the functionality of a volume manager, providing characteristics such as mirroring, striping, Redundant Arrays of Inexpensive Disks (RAID), etc. directly in the filesystem.
Filesystems generally do not have the flexibility to allocate files to volumes having the desired characteristics for the file, nor to allocate file data and file metadata with the flexibility that may be desired.